package com.aiex.admin.system.domian.service;

import com.aiex.admin.system.domian.domain.UserDomain;
import com.aiex.admin.system.domian.domain.UserPassWordDomain;
import com.aiex.admin.system.domian.domain.UserStatusDomain;
import com.aiex.admin.system.domian.domain.query.UserQueryDomain;
import com.aiex.framework.db.config.base.PageDTO;

import java.util.List;

public interface UserDomainService {

    /**
     * 分页查询
     * @param userQueryDomain
     * @return
     */
    PageDTO<UserDomain> pageByQuery(UserQueryDomain userQueryDomain);

    /**
     * 保存
     * @param userDomain
     */
    void save(UserDomain userDomain);

    /**
     * 根据ids删除
     * @param ids
     */
    void deleteByIds(List<Long> ids);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    UserDomain getById(Long id);

    /**
     * 修改用户状态
     * @param userStatusDomain
     */
    void updateStatus(UserStatusDomain userStatusDomain);

    /**
     * 修改用户密码
     * @param userPassWordDomain
     */
    void updatePassWord(UserPassWordDomain userPassWordDomain);

    /**
     * 重置密码
     * @param id
     */
    void resetPassWord(Long id);

}
